Photolithography is used to transfer a design onto a surface. A light shines through a mask to project the design from the mask onto the surface. Then, various forms of chemical processing can be used to fix the projected design onto the surface, rather like developing film.
Photolithography is used for many different purposes. Most notably, however, photolithography is used for fabricating integrated circuits (ICs). In IC fabrication, a design usually includes a large number of geometric features, or shapes. An IC may include many layers of photolithographic designs built one on top of another. The geometric features of the various design layers are carefully arranged to form circuit elements, such as transistors, transmission paths, diodes, resistors, and the like.
Advances in photolithography continually provide smaller feature sizes, leading to increasingly more densely packed and more powerful ICs. The minimum feature size in masks has dropped below the wavelength of the light sources used to illuminate the masks. At these very small feature sizes, the behavior of the projected light becomes more complicated than at larger feature sizes. For instance, the edges of projected features may be obscured, corners may be rounded, line ends may be cut off, closely spaced features may bleed together, and small features may not appear at all.
Retical enhancing technologies (RETs) have been developed to compensate for the behavior of light at small feature sizes. “Retical” is another word for mask. RETs involve predicting or determining how light is likely to behave when used to project very small features from a mask, and enhancing the mask in some way to “pre-compensate” for the light's behavior.
One form of RET involves scatter bars, also referred to as assist bars, leveling bars, and sub-resolution assist features (SRAFs). Scatter bars are useful because photolithography is often optimized to provide the best resolution for closely spaced features. Put another way, features that are close together will often project more clearly than features that are farther apart in many photolithographic systems. In which case, scatter bars are added in masks along edges of more isolated features so that the edges project as if they were closely spaced. The scatter bars themselves are comparatively narrow so that they are too small to resolve. In other words, scatter bars do not appear in the projected image of a design, but the scatter bars improve the projection of other design features, as if the other features were closely spaced.
A number of different approaches can be used to assign scatter bars to particular edges. One approach that is often used is a rule-based approach that assigns scatter bars based on spacing classification. That is, all edges having a certain spacing classification in a design are assigned the same type of scatter bar enhancement. Spacing classification can be used to define whether or not an edge receives scatter bar enhancement at all, as well as the number of scatter bars, the spacing of scatter bars, and the width of scatter bars. The length of scatter bars is usually simply the same length as the edges to which the bars are assigned. Spacing classification and scatter bar enhancement parameters can all change depending on the photolithographic process being used, design constraints, designer preference, and the like.
To determine spacing classifications for edges of features, one approach is to travel along the edges of features in a design in small increments and project perpendicularly out from the feature at each increment until another edge is encountered or a maximum distance is reached. Then, depending on the length of the perpendicular projection, a classification is assigned to the incremental section of the edge.
For instance, FIG. 1 illustrates a simple photolithographic design 100 including three features, 110, 120, and 130. Design 100 can be represented using many different forms of design data. One common form of design data is GDSII, in which each feature in a design is defined by a set of points in a two dimensional space. For instance, feature 110 could be defined in GDSII by four points 111, 112, 113, and 114, one point at each corner. In which case, pairs of points define the edges of feature 110, such as edge 115 between points 111 and 112.
Projecting perpendicularly out from any point along edge 115, no edge is encountered, so edge 115 is classified as an isolated edge. Similarly, the spacing classification for edges 116 and 117 is isolated. The edge between points 112 and 113, however, has different spacing at different points along the edge. In which case, one approach is to fragment the edge based on spacing and assign different spacing classifications to different edge fragments. In the illustrated embodiment, the edge between points 112 and 113 is fragmented into five sections, 118A, 118B, 118C, 118D, and 118E. Each pair of neighboring, collinear edge fragments along edge 118 has a different spacing classification. Edges 118A, 118C, and 118E are classified as isolated because no edges are encountered within the maximum projection distance, and edges 118B and 118D are classified as something closer than isolated because edges are encountered within the maximum projection distance.
For features 120 and 130, edges 125 and 134 will receive the same spacing classifications as edges 118B and 118D, respectively. Edges 121, 122, 126, 131, and 132 will each receive isolated spacing classifications. Edges between features 120 and 130 are consistently spaced over part of their lengths and diverge over the remainder. In which case, the edges will be fragmented as the spacings transition from one edge classification to the next. Specifically, in the illustrated embodiment, edge 133 is fragmented into eight fragments, 133A to 133H. Edge 123 is fragmented into five fragments, 123A to 123 E. Edges 124 and 133A will receive the same classifications. Edges 133B to 133H will receive incrementally more distant spacing classifications, as will edges 123A to 123E.
As used herein, the terms edge and edge fragment will be used interchangeable. Both edge and edge fragment refer in general to any part of a feature defined by two points, whether created by fragmentation from a longer edge or not. In other words, lines 115, 116, 117, and all five lines of 118 may each be interchangeably referred to herein as an edge or an edge fragment, even though edges 115, 116, and 117 where not fragmented.
FIG. 2 illustrates one embodiment of the design from FIG. 1 with scatter bars added. All of the isolated edge fragments in the illustrated design receive two scatter bars. The edge fragments having closer spacing classifications each receive one or two scatter bars, with each scatter bar placed at various distances from the respective edges depending on classification.
This type of rule-based application of scatter bars can lead to violations of design constraints. Design constraints include a minimum spacing between features and a minimum scatter bar length. If a scatter bar is too small, it may not be possible to create the physical scatter bar feature in the mask. If features are too close, they may bleed together in the projected image, possibly causing problems such as short circuits. In the particular case of scatter bars, scatter bars are not supposed to resolve in the projected image. But, if scatter bars merge together, or merge into other features, the combined features may be large enough to be visible, or resolve, in the projected image, possibly causing any number problems.
In the illustrated embodiment of FIG. 2, many scatter bars overlap, are very close to one another, and are shorter than the minimum scatter bar length 140. The problem areas tend to be concentrated in areas where fragmentation based on spacing created many small edge fragments, such as the at the bottoms of features 120 and 130, and the areas between features 120 and 130 where the features diverge from one another.
Therefore, after assigning scatter bars, a clean-up process is usually necessary to identify features having design constraint violations, sometimes referred to as “illegal” features, and to modify the features to meet the constraints. For instance, scatters bars that are too close to other features or overlap other features may be shortened, deleted, or merged. Clean-up tends to be complex and time consuming because spacing needs to be determined not just in a perpendicular projection from incremental points along edge fragments, but in multiple directions in a two dimensional plane from each incremental point along edge fragments. Then, when an illegal feature is found, the clean-up process needs to determine if the feature can be brought into compliance with design constraints, and, if so, how best to do so in a given situation.